import decoderstage.{Decoder, Extender, GRF, NPC}
import executestage.ALU
import util.InstrMem

object InstrMemGen {
  def main(args: Array[String]): Unit = {
    println("Generating hardware")
    chisel3.Driver.execute(Array("--target-dir", "generated"), () => new InstrMem)
    // chisel3.Driver.execute(Array("--help"), null)
  }
}
object DecoderGen {
  def main(args: Array[String]): Unit = {
    println("Generating hardware")
    chisel3.Driver.execute(Array("--target-dir", "generated"), () => new Decoder)
  }
}
object GrfGen {
  def main(args: Array[String]): Unit = {
    println("Generating hardware")
    chisel3.Driver.execute(Array("--target-dir", "generated"), () => new GRF)
  }
}
object NPCGen {
  def main(args: Array[String]): Unit = {
    println("Generating hardware")
    chisel3.Driver.execute(Array("--target-dir", "generated"), () => new NPC)
  }
}
object ALUGen {
  def main(args: Array[String]): Unit = {
    println("Generating hardware")
    chisel3.Driver.execute(Array("--target-dir", "generated"), () => new ALU)
  }
}
object ExtGen {
  def main(args: Array[String]): Unit = {
    println("Generating hardware")
    chisel3.Driver.execute(Array("--target-dir", "generated"), () => new Extender)
  }
}